package com.shijiezhijia.sjzjapp.demo.inject;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author tzc
 * @Time 2022/11/19 0019
 * Describe 事件的注解要素。 用于标识其他事件注解。实现多态表现。
 */
@Target(ElementType.ANNOTATION_TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface EventBase {
    //事件的订阅关系 如setOnClickListener
    String listenerSubscribe() default "";
    //事件本身 如 new View.OnClickListener()
    Class<?> listenerType() default Object.class;
    //事件处理 如 onClick方法
    String callbackMethod() default "";
}
